home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / latex209 / contrib / ps-latex / ps-lfonts.tex < prev    next >
Text File  |  1990-10-01  |  36KB  |  825 lines

  1. % File PS-LFONTS - Version of 18 December 1985
  2. %
  3. % FONT CONVENTIONS
  4. %
  5. % A TYPESTYLE COMMAND is something like \it that defines a type style.
  6. % Each style command \xx is defined to be \protect\pxx, where
  7. % \pxx is defined to choose the correct font for the current size.
  8. % This allows style commands to appear in 'unsafe' arguments where
  9. % protection is required.
  10. %
  11. % A SIZE COMMAND is something like \normalsize that defines a type size.
  12. % It is defined by the document style.  However, \normalsize is handled
  13. % somewhat differently because it is called so often--e.g., on every
  14. % page by the output routine.  The document style defines \@normalsize
  15. % instead of \normalsize.
  16. %
  17. % A ONE-SIZE typestyle is one that exists only in the \normalsize size.
  18. %
  19. % A FONT-SIZE COMMAND is one that defines \textfont, \scriptfont and
  20. % \scriptscriptfont for the font families corresponding to preloaded fonts,
  21. % as well as the typestyle commands for the preloaded fonts.  Each
  22. % font-size command has an associated @fontsize command, having the same
  23. % name except for an '@' at the front.   All font-size commands are defined
  24. % in LFONTS.  The naming convention is that a fifteenpt font has a font-size
  25. % name \xvpt, and so on.
  26. %
  27. % Each size command \SIZE executes the command
  28. %             \@setsize\SIZE{BASELINESKIP}\FONTSIZE\@FONTSIZE
  29. % which does the following.
  30. %   0. Executes \@nomath\SIZE to issue warning if in math mode.
  31. %   1. \let \@currsize = \SIZE
  32. %   2. Sets \strutbox to a strut of height .7 * BASELINESKIP and
  33. %      depth .3 * BASELINESKIP
  34. %   3. Sets \baselineskip to \baselinestretch * BASELINESKIP
  35. %      and
  36. %   4. Calls \FONTSIZE
  37. %   5. Executes the \@FONTSIZE command.
  38. % It should then define all the typestyle commands not defined by the font-size
  39. % command, except for the one-size type styles. A typestyle command for which
  40. % the corresponding font exists but is not preloaded is defined to expand to a
  41. % \@getfont command.  A typestyle whose font does not exist is defined to
  42. % expand to a \@subfont command.
  43. %
  44. % A one-size typestyle whose font is not preloaded is defined to expand to
  45. % a \@onesizefont command.
  46. %
  47. % \em is defined to be \it inside an unslanted style and \rm inside a
  48. % slanted style.  An \em command in a section title will produce a \pem
  49. % command in the table of contents.
  50. %
  51.  
  52. \def\em{\protect\pem{}}
  53. \def\pem{\ifdim \fontdimen\@ne\font >\z@ \rm \else \it \fi}
  54.  
  55. \def\normalsize{\ifx\@currsize\normalsize \rm \else \@normalsize\fi}
  56.  
  57. % \load{SIZE}{STYLE} : Solves anomaly of loaded-on-demand font
  58. %    used for first time in math mode.  Give this command outside math
  59. %    mode, before formula using it for first time.
  60. \def\load#1#2{\let\@tempa\@currsize \let\@currsize\relax #1#2\@tempa}
  61.  
  62. % \newfont{\CMD}{FONT} defines \CMD to be the font FONT.
  63. %    It is equivalent to \font \CMD = FONT
  64. % \symbol{NUM} == \char NUM
  65.  
  66. \def\newfont#1#2{\@ifdefinable #1{\font #1=#2\relax}}
  67. \def\symbol#1{\char #1\relax}
  68.  
  69.  
  70.  
  71. % \@getfont \STYLE \FAM \@FONTSIZE{LOADING.INFO}
  72. %   \STYLE       = style command
  73. %   \FAM         = a control sequence defined by \newfam\FAM
  74. %   \@FONTSIZE   = the @fontsize command for the current size.
  75. %   LOADING.INFO = information needed to load the font--e.g.,
  76. %                  cmtti10 \magstep 2
  77. %   Does the following, where \FONTNAME denotes a new unique, untypeable
  78. %   font name:
  79. %    1. Executes  \font \FONTNAME = LOADING.INFO
  80. %    2. Appends '\textfont FAM \FONTNAME \def\STYLE{\fam \FAM \FONTNAME}'
  81. %       to the definition of \@FONTSIZE.
  82. %    3. Executes \@FONTSIZE \STYLE.
  83. %
  84. % \@nohyphens\STYLE\@FONTSIZE
  85. %   Used right after \@getfont to set \hyphenchar of the new font to -1,
  86. %   thereby prohibiting hyphenation.  It is used with \tt fonts.
  87. %   (\@nohyphens was added on 12/18/85)
  88. %
  89. % \@subfont \STYLE \REPSTYLE
  90. %   \STYLE, \REPSTYLE = type style commands.
  91. %   Types warning message and defines uses \REPSTYLE.
  92. %
  93. % \@onesizefont \STYLE {LOADING.INFO}
  94. %   Defines \STYLE to be a typestyle that exists only for the \normalsize
  95. %   size.  It produces the font specified by LOADING.INFO
  96. %
  97. % \@addfontinfo\@FONTSIZE{DEFS}
  98. %    Expands DEFS and adds to the definition of \@FONTSIZE. Items that should
  99. %    not be expanded should be protected with \@prtct---except no protection
  100. %    is needed for '\def\foo', only for the contents of the definition.
  101. %
  102. % \@nomath\CS : Types a warning '\CS used in math mode' if encountered
  103. %    in math mode.
  104.  
  105. % Remove \outer from definition of \newfam
  106. \def\newfam{\alloc@8\fam\chardef\sixt@@n}
  107.  
  108. \def\@setsize#1#2#3#4{\@nomath#1\let\@currsize#1\baselineskip
  109.    #2\setbox\strutbox\hbox{\vrule height.7\baselineskip
  110.       depth.3\baselineskip width\z@}\baselineskip\baselinestretch\baselineskip
  111.    \normalbaselineskip\baselineskip#3#4}
  112.  
  113. \newif\if@bold
  114.  
  115. \let\@prtct=\relax
  116.  
  117. \def\@addfontinfo#1#2{{\def\@prtct{\noexpand\@prtct\noexpand}\def\def{\noexpand
  118.     \def\noexpand}\xdef#1{#1#2}}}
  119.  
  120. \def\@getfont#1#2#3#4{\@ifundefined{\string #1\string #3}{\global\expandafter
  121.     \font \csname \string #1\string #3\endcsname #4\relax
  122.      \@addfontinfo#3{\textfont #2\csname \string #1\string #3\endcsname
  123.      \scriptfont #2\csname \string #1\string #3\endcsname
  124.      \scriptscriptfont #2\csname \string #1\string #3\endcsname
  125.      \def#1{\fam #2\csname\string #1\string #3\endcsname}}}{}#3#1}
  126.  
  127. \def\@nohyphens#1#2{\global\expandafter \hyphenchar\csname
  128.    \string #1\string #2\endcsname \m@ne}
  129.  
  130. \def\@subfont#1#2{\@warning{No \string#1\space typeface in
  131.         this size, using \string#2}#2}
  132.  
  133. \def\@onesizefont#1#2{\expandafter\newfam\csname fm\string#1\endcsname
  134.   \global\expandafter\font\csname ft\string#1\endcsname #2\relax
  135.   \gdef#1{\ifx \@currsize\normalsize \@ftfam#1\else
  136.   \@warning{Typeface \string#1\space available only in
  137.   \string\normalsize, using \string\rm}\gdef #1{\ifx \@currsize\normalsize
  138.   \textfont\@fontfam#1 \scriptfont\@fontfam#1 \scriptscriptfont
  139.   \@fontfam#1\@ftfam#1\else \rm\fi}#1\fi}#1}
  140.  
  141. \def\@ftfam#1{\fam\csname fm\string#1\endcsname\csname ft\string#1\endcsname}
  142.  
  143. \def\@nomath#1{\ifmmode \@warning{\string#1\space in math mode.}\fi}
  144. \def\@nomathbold{\ifmmode \@warning{\string\mathbold\space in math mode.}\fi}
  145.  
  146. % The following definitions save token space.  E.g., using \@height
  147. % instead of height saves 5 tokens at the cost in time of one macro
  148. % expansion.
  149.  
  150. \def\@height{height}
  151. \def\@depth{depth}
  152. \def\@width{width}
  153.  
  154. \def\@magscale#1{ scaled \magstep #1}
  155. \def\@halfmag{ scaled \magstephalf}
  156. \def\@ptscale#1{ scaled #100}
  157.  
  158. % five point
  159.  \font\fivrm  = psmtimr \@ptscale5               % roman
  160.  \font\fivmi  = cmmi5              % math italic
  161.     \skewchar\fivmi ='177          %  for placement of accents
  162. %\font\fivmib = cmmib10  \@ptscale5 % bold math italic
  163.  \font\fivsy  = cmsy5              % math symbols
  164.     \skewchar\fivsy ='60           %   for placement of math accents
  165. %\font\fivsyb = cmbsy10 \@ptscale5 % bold math symbols
  166. %\font\fivit  = psmtimi \@ptscale7 % text italic
  167. %\font\fivsl  = psmtimi  \@ptscale5 % slanted
  168. %\font\fivbf  = psmtimb \@ptscale5 % extended bold
  169. %\font\fivbfs = psmtimbi\@ptscale5 % extended bold slanted
  170. %\font\fivtt  = psmcou  \@ptscale5 % typewriter
  171. %\font\fivtti = psmcouo \@ptscale5 % italic typewriter
  172. %\font\fivtts = psmcouo\@ptscale5 % slanted typewriter
  173. %\font\fivsf  = psmhlv  \@ptscale5 % sans serif
  174. %\font\fivsfi = psmhlvo \@ptscale5 % italic sans serif
  175. %\font\fivsfb = psmhlvb\@ptscale5 % bold sans serif
  176. %\font\fivsc  = cmcsc10 \@ptscale5 % small caps
  177.  \font\fivly  = lasy5             % LaTeX symbols
  178. %\font\fivlyb = lasyb10 \@ptscale5 % LaTeX symbols
  179. %\font\fivuit = cmu10   \@ptscale5 % unslanted italic
  180.  
  181. % six point
  182.  \font\sixrm  = psmtimr \@ptscale6               % roman
  183.  \font\sixmi  = cmmi6              % math italic
  184.     \skewchar\sixmi ='177          %  for placement of accents
  185. %\font\sixmib = cmmib10  \@ptscale6 % bold math italic
  186.  \font\sixsy  = cmsy6              % math symbols
  187.     \skewchar\sixsy ='60           %   for placement of math accents
  188. %\font\sixsyb = cmbsy10 \@ptscale6 % bold math symbols
  189. %\font\sixit  = psmtimi \@ptscale7 % text italic
  190. %\font\sixsl  = psmtimi  \@ptscale6 % slanted
  191. %\font\sixbf  = cmbx7   scaled 857 % extended bold
  192. %\font\sixbfs = psmtimbi\@ptscale6 % extended bold slanted
  193. %\font\sixtt  = psmcou  \@ptscale6 % typewriter
  194. %\font\sixtti = psmcouo \@ptscale6 % italic typewriter
  195. %\font\sixtts = psmcouo\@ptscale6 % slanted typewriter
  196. %\font\sixsf  = psmhlv  \@ptscale6 % sans serif
  197. %\font\sixsfi = psmhlvo \@ptscale6 % italic sans serif
  198. %\font\sixsfb = psmhlvb\@ptscale6 % bold sans serif
  199. %\font\sixsc  = cmcsc10 \@ptscale6 % small caps
  200.  \font\sixly  = lasy6             % LaTeX symbols
  201. %\font\sixlyb = lasyb10 \@ptscale6 % LaTeX symbols
  202. %\font\sixuit = cmu10   \@ptscale6 % unslanted italic
  203.  
  204. % seven point
  205.  \font\sevrm  = psmtimr \@ptscale7               % roman
  206.  \font\sevmi  = cmmi7              % math italic
  207.     \skewchar\sevmi ='177          %  for placement of accents
  208. %\font\sevmib = cmmib10  \@ptscale7 % bold math italic
  209.  \font\sevsy  = cmsy7              % math symbols
  210.     \skewchar\sevsy ='60           %   for placement of math accents
  211. %\font\sevsyb = cmbsy10 \@ptscale7 % bold math symbols
  212.  \font\sevit  = psmtimi \@ptscale7              % text italic
  213. %\font\sevsl  = psmtimi \@ptscale7 % slanted
  214. %\font\sevbf  = psmtimb \@ptscale7              % extended bold
  215. %\font\sevbfs = psmtimbi\@ptscale7 % extended bold slanted
  216. %\font\sevtt  = psmcou  \@ptscale7 % typewriter
  217. %\font\sevtti = psmcouo \@ptscale7 % italic typewriter
  218. %\font\sevtts = psmcouo\@ptscale7 % slanted typewriter
  219. %\font\sevsf  = psmhlv  \@ptscale7 % sans serif
  220. %\font\sevsfi = psmhlvo \@ptscale7 % italic sans serif
  221. %\font\sevsfb = psmhlvb\@ptscale7 % bold sans serif
  222. %\font\sevsc  = cmcsc10 \@ptscale7 % small caps
  223.  \font\sevly  = lasy7             % LaTeX symbols
  224. %\font\sevlyb = lasyb10 \@ptscale7 % LaTeX symbols
  225. %\font\sevuit = cmu10   \@ptscale7 % unslanted italic
  226.  
  227. % eight point
  228.  \font\egtrm  = psmtimr \@ptscale8               % roman
  229.  \font\egtmi  = cmmi8              % math italic
  230.     \skewchar\egtmi ='177          %  for placement of accents
  231. %\font\egtmib = cmmib10  \@ptscale8 % bold math italic
  232.  \font\egtsy  = cmsy8              % math symbols
  233.     \skewchar\egtsy ='60           %   for placement of math accents
  234. %\font\egtsyb = cmbsy10 \@ptscale8 % bold math symbols
  235.  \font\egtit  = psmtimi \@ptscale8              % text italic
  236. %\font\egtsl  = psmtimi \@ptscale8              % slanted
  237. %\font\egtbf  = psmtimb \@ptscale8              % extended bold
  238. %\font\egtbfs = psmtimbi\@ptscale8 % extended bold slanted
  239. %\font\egttt  = psmcou \@ptscale8              % typewriter
  240. %\font\egttti = psmcouo \@ptscale8 % italic typewriter
  241. %\font\egttts = psmcouo\@ptscale8 % slanted typewriter
  242. %\font\egtsf  = psmhlv  \@ptscale8 % sans serif
  243. %\font\egtsfi = psmhlvo \@ptscale8 % italic sans serif
  244. %\font\egtsfb = psmhlvb\@ptscale8 % bold sans serif
  245. %\font\egtsc  = cmcsc10 \@ptscale8 % small caps
  246.  \font\egtly  = lasy8             % LaTeX symbols
  247. %\font\egtlyb = lasyb10 \@ptscale8 % LaTeX symbols
  248. %\font\egtuit = cmu10   \@ptscale8 % unslanted italic
  249.  
  250.  
  251. % nine point
  252.  \font\ninrm  = psmtimr \@ptscale9               % roman
  253.  \font\ninmi  = cmmi9              % math italic
  254.     \skewchar\ninmi ='177          %  for placement of accents
  255. %\font\ninmib = cmmib10  \@ptscale9 % bold math italic
  256.  \font\ninsy  = cmsy9              % math symbols
  257.     \skewchar\ninsy ='60           %   for placement of math accents
  258. %\font\ninsyb = cmbsy10 \@ptscale9 % bold math symbols
  259.  \font\ninit  = psmtimi \@ptscale9              % text italic
  260. %\font\ninsl  = psmtimi \@ptscale9              % slanted
  261.  \font\ninbf  = psmtimb \@ptscale9              % extended bold
  262. %\font\ninbfs = psmtimbi\@ptscale9 % extended bold slanted
  263.  \font\nintt  = psmcou \@ptscale9              % typewriter
  264.     \hyphenchar\nintt = -1         %  suppress hyphenation in \tt font
  265. %\font\nintti = psmcouo \@ptscale9 % italic typewriter
  266. %\font\nintts = psmcouo\@ptscale9 % slanted typewriter
  267. %\font\ninsf  = psmhlv  \@ptscale9 % sans serif
  268. %\font\ninsfi = psmhlvo \@ptscale9 % italic sans serif
  269. %\font\ninsfb = psmhlvb\@ptscale9 % bold sans serif
  270. %\font\ninsc  = cmcsc10 \@ptscale9 % small caps
  271.  \font\ninly  = lasy9             % LaTeX symbols
  272. %\font\ninlyb = lasyb10 \@ptscale9 % LaTeX symbols
  273. %\font\ninuit = cmu10   \@ptscale9 % unslanted italic
  274.  
  275. % ten point
  276.  \font\tenrm  = psmtimr    % roman
  277.  \font\tenmi  = cmmi10   % math italic
  278.     \skewchar\tenmi ='177  %  for placement of accents
  279. %\font\tenmib = cmmib10   % bold math italic
  280.  \font\tensy  = cmsy10   % math symbols
  281.     \skewchar\tensy ='60 %   for placement of math accents
  282. %\font\tensyb = cmbsy10  % bold symbols
  283.  \font\tenit  = psmtimi   % text italic
  284.  \font\tensl  = psmtimi   % slanted
  285.  \font\tenbf  = psmtimb   % extended bold
  286. %\font\tenbfs = psmtimbi % extended bold slanted
  287.  \font\tentt  = psmcou   % typewriter
  288.     \hyphenchar\tentt = -1         %  suppress hyphenation in \tt font
  289. %\font\tentti = psmcouo  % italic typewriter
  290. %\font\tentts = psmcouo % slanted typewriter
  291.  \font\tensf  = psmhlv   % sans serif
  292. %\font\tensfi = psmhlvo  % italic sans serif
  293. %\font\tensfb = psmhlvb % bold sans serif
  294. %\font\tensc  = cmcsc10  % small caps
  295.  \font\tenly  = lasy10  % LaTeX symbols
  296. %\font\tenlyb = lasyb10 % bold LaTeX symbols
  297. %\font\tenuit = cmu10    % unslanted italic
  298.  
  299. % eleven point
  300.  \font\elvrm  = psmtimr    \@halfmag % roman
  301.  \font\elvmi  = cmmi10   \@halfmag % math italic
  302.     \skewchar\elvmi ='177          %  for placement of accents
  303. %\font\elvmib = cmmib10   \@halfmag % bold math italic
  304.  \font\elvsy  = cmsy10   \@halfmag % math symbols
  305.     \skewchar\elvsy ='60           %   for placement of math accents
  306. %\font\elvsyb = cmbsy10  \@halfmag % bold symbols
  307.  \font\elvit  = psmtimi   \@halfmag % text italic
  308.  \font\elvsl  = psmtimi   \@halfmag % slanted
  309.  \font\elvbf  = psmtimb   \@halfmag % exelvded bold
  310. %\font\elvbfs = psmtimbi \@halfmag % exelvded bold slanted
  311.  \font\elvtt  = psmcou   \@halfmag % typewriter
  312.     \hyphenchar\elvtt = -1         %  suppress hyphenation in \tt font
  313. %\font\elvtti = psmcouo  \@halfmag % italic typewriter
  314. %\font\elvtts = psmcouo \@halfmag % slanted typewriter
  315.  \font\elvsf  = psmhlv   \@halfmag % sans serif
  316. %\font\elvsfi = psmhlvo  \@halfmag % italic sans serif
  317. %\font\elvsfb = psmhlvb \@halfmag % bold sans serif
  318. %\font\elvsc  = cmcsc10  \@halfmag % small caps
  319.  \font\elvly  = lasy10  \@halfmag % LaTeX symbols
  320. %\font\elvlyb = lasyb10 \@halfmag % bold LaTeX symbols
  321. %\font\elvuit = cmu10    \@halfmag % unslanted italic
  322.  
  323. % twelve point
  324.  \font\twlrm  = psmtimr    \@magscale1 % roman
  325.  \font\twlmi  = cmmi10   \@magscale1 % math italic
  326.     \skewchar\twlmi ='177          %  for placement of accents
  327. %\font\twlmib = cmmib10   \@magscale1 % bold math italic
  328.  \font\twlsy  = cmsy10   \@magscale1 % math symbols
  329.     \skewchar\twlsy ='60           %   for placement of math accents
  330. %\font\twlsyb = cmbsy10  \@magscale1 % bold symbols
  331.  \font\twlit  = psmtimi   \@magscale1 % text italic
  332.  \font\twlsl  = psmtimi   \@magscale1 % slanted
  333.  \font\twlbf  = psmtimb   \@magscale1 % extended bold
  334. %\font\twlbfs = psmtimbi \@magscale1 % extended bold slanted
  335.  \font\twltt  = psmcou   \@magscale1 % typewriter
  336.     \hyphenchar\twltt = -1         %  suppress hyphenation in \tt font
  337. %\font\twltti = psmcouo  \@magscale1 % italic typewriter
  338. %\font\twltts = psmcouo \@magscale1 % slanted typewriter
  339.  \font\twlsf  = psmhlv   \@magscale1 % sans serif
  340. %\font\twlsfi = psmhlvo  \@magscale1 % italic sans serif
  341. %\font\twlsfb = psmhlvb \@magscale1 % bold sans serif
  342. %\font\twlsc  = cmcsc10  \@magscale1 % small caps
  343.  \font\twlly  = lasy10  \@magscale1 % LaTeX symbols
  344. %\font\twllyb = lasyb10 \@magscale1 % bold LaTeX symbols
  345. %\font\twluit = cmu10    \@magscale1 % unslanted italic
  346.  
  347. % fourteen point
  348.  \font\frtnrm  = psmtimr    \@magscale2 % roman
  349.  \font\frtnmi  = cmmi10   \@magscale2 % math italic
  350.     \skewchar\frtnmi ='177          %  for placement of accents
  351. %\font\frtnmib = cmmib10   \@magscale2 % bold math italic
  352.  \font\frtnsy  = cmsy10   \@magscale2 % math symbols
  353.     \skewchar\frtnsy ='60           %   for placement of math accents
  354. %\font\frtnsyb = cmbsy10  \@magscale2 % bold symbols
  355. %\font\frtnit  = psmtimi   \@magscale2 % text italic
  356. %\font\frtnsl  = psmtimi   \@magscale2 % slanted
  357.  \font\frtnbf  = psmtimb   \@magscale2 % extended bold
  358. %\font\frtnbfs = psmtimbi \@magscale2 % extended bold slanted
  359. %\font\frtntt  = psmcou   \@magscale2 % typewriter
  360. %\font\frtntti = psmcouo  \@magscale2 % italic typewriter
  361. %\font\frtntts = psmcouo \@magscale2 % slanted typewriter
  362. %\font\frtnsf  = psmhlv   \@magscale2 % sans serif
  363. %\font\frtnsfi = psmhlvo  \@magscale2 % italic sans serif
  364. %\font\frtnsfb = psmhlvb \@magscale2 % bold sans serif
  365. %\font\frtnsc  = cmcsc10  \@magscale2 % small caps
  366.  \font\frtnly  = lasy10  \@magscale2 % LaTeX symbols
  367. %\font\frtnlyb = lasyb10 \@magscale2 % bold LaTeX symbols
  368. %\font\frtnuit = cmu10    \@magscale2 % unslanted italic
  369.  
  370. % seventeen point
  371.  \font\svtnrm  = psmtimr    \@magscale3 % roman
  372.  \font\svtnmi  = cmmi10   \@magscale3 % math italic
  373.     \skewchar\svtnmi ='177          %  for placement of accents
  374. %\font\svtnmib = cmmib10   \@magscale3 % bold math italic
  375.  \font\svtnsy  = cmsy10   \@magscale3 % math symbols
  376.     \skewchar\svtnsy ='60           %   for placement of math accents
  377. %\font\svtnsyb = cmbsy10  \@magscale3 % bold symbols
  378. %\font\svtnit  = psmtimi   \@magscale3 % text italic
  379. %\font\svtnsl  = psmtimi   \@magscale3 % slanted
  380.  \font\svtnbf  = psmtimb   \@magscale3 % extended bold
  381. %\font\svtnbfs = psmtimbi \@magscale3 % extended bold slanted
  382. %\font\svtntt  = psmcou   \@magscale3 % typewriter
  383. %\font\svtntti = psmcouo  \@magscale3 % italic typewriter
  384. %\font\svtntts = psmcouo \@magscale3 % slanted typewriter
  385. %\font\svtnsf  = psmhlv   \@magscale3 % sans serif
  386. %\font\svtnsfi = psmhlvo  \@magscale3 % italic sans serif
  387. %\font\svtnsfb = psmhlvb \@magscale3 % bold sans serif
  388. %\font\svtnsc  = cmcsc10  \@magscale3 % small caps
  389.  \font\svtnly  = lasy10  \@magscale3 % LaTeX symbols
  390. %\font\svtnlyb = lasyb10 \@magscale3 % bold LaTeX symbols
  391. %\font\svtnuit = cmu10    \@magscale3 % unslanted italic
  392.  
  393. % twenty point
  394.  \font\twtyrm  = psmtimr    \@magscale4 % roman
  395.  \font\twtymi  = cmmi10   \@magscale4 % math italic
  396.     \skewchar\twtymi ='177          %  for placement of accents
  397. %\font\twtymib = cmmib10   \@magscale4 % bold math italic
  398.  \font\twtysy  = cmsy10   \@magscale4 % math symbols
  399.     \skewchar\twtysy ='60           %   for placement of math accents
  400. %\font\twtysyb = cmbsy10  \@magscale4 % bold symbols
  401. %\font\twtyit  = psmtimi   \@magscale4 % text italic
  402. %\font\twtysl  = psmtimi   \@magscale4 % slanted
  403. %\font\twtybf  = psmtimb   \@magscale4 % extended bold
  404. %\font\twtybfs = psmtimbi \@magscale4 % extended bold slanted
  405. %\font\twtytt  = psmcou   \@magscale4 % typewriter
  406. %\font\twtytti = psmcouo  \@magscale4 % italic typewriter
  407. %\font\twtytts = psmcouo \@magscale4 % slanted typewriter
  408. %\font\twtysf  = psmhlv   \@magscale4 % sans serif
  409. %\font\twtysfi = psmhlvo  \@magscale4 % italic sans serif
  410. %\font\twtysfb = psmhlvb \@magscale4 % bold sans serif
  411. %\font\twtysc  = cmcsc10  \@magscale4 % small caps
  412.  \font\twtyly  = lasy10  \@magscale4 % LaTeX symbols
  413. %\font\twtylyb = lasyb10 \@magscale4 % bold LaTeX symbols
  414. %\font\twtyuit = cmu10    \@magscale4 % unslanted italic
  415.  
  416. % twenty-five point
  417.  \font\twfvrm  = psmtimr    \@magscale5 % roman
  418. %\font\twfvmi  = cmmi10   \@magscale5 % math italic
  419. %\font\twfvmib = cmmib10   \@magscale5 % bold math italic
  420. %\font\twfvsy  = cmsy10   \@magscale5 % math symbols
  421. %\font\twfvsyb = cmbsy10  \@magscale5 % bold symbols
  422. %\font\twfvit  = psmtimi   \@magscale5 % text italic
  423. %\font\twfvsl  = psmtimi   \@magscale5 % slanted
  424. %\font\twfvbf  = psmtimb   \@magscale5 % extended bold
  425. %\font\twfvbfs = psmtimbi \@magscale5 % extended bold slanted
  426. %\font\twfvtt  = psmcou   \@magscale5 % typewriter
  427. %\font\twfvtti = psmcouo  \@magscale5 % italic typewriter
  428. %\font\twfvtts = psmcouo \@magscale5 % slanted typewriter
  429. %\font\twfvsf  = psmhlv   \@magscale5 % sans serif
  430. %\font\twfvsfi = psmhlvo  \@magscale5 % italic sans serif
  431. %\font\twfvsfb = psmhlvb \@magscale5 % bold sans serif
  432. %\font\twfvsc  = cmcsc10  \@magscale5 % small caps
  433. %\font\twfvly  = lasy10   \@magscale5 % LaTeX symbols
  434. %\font\twfvlyb = lasyb10  \@magscale5 % bold LaTeX symbols
  435. %\font\twfvuit = cmu10    \@magscale5 % unslanted italic
  436.  
  437. % Math extension
  438.  \font\tenex   = cmex10
  439.  
  440. % line & circle fonts
  441. \font\tenln    = line10
  442. \font\tenlnw   = linew10
  443. \font\tencirc  = circle10
  444. \font\tencircw = circlew1%0
  445.  
  446. \ifnum\fontdimen8\tenln=\fontdimen8\tencirc \else
  447.   \@warning{Incompatible thin line and circle fonts}\fi
  448. \ifnum\fontdimen8\tenlnw=\fontdimen8\tencircw \else
  449.   \@warning{Incompatible thick line and circle fonts}\fi
  450.  
  451.  
  452. % protected font names
  453. \def\rm{\protect\prm}
  454. \def\it{\protect\pit}
  455. \def\bf{\protect\pbf}
  456. \def\sl{\protect\psl}
  457. \def\sf{\protect\psf}
  458. \def\sc{\protect\psc}
  459. \def\tt{\protect\ptt}
  460.  
  461. % font abbreviations
  462. \def\@mbi{cmmib10}
  463. \def\@mbsy{cmbsy10}
  464. \def\@mcsc{cmcsc10}
  465. \def\@mss{psmhlv}
  466. \def\@lasyb{lasyb10}
  467.  
  468. % families
  469.  
  470. \newfam\itfam      % \it is family 4
  471. \newfam\slfam      % \sl is family 5
  472. \newfam\bffam      % \bf is family 6
  473. \newfam\ttfam      % \tt is family 7
  474. \newfam\sffam      % \sf is family 8
  475. \newfam\scfam      % \sf is family 9
  476. \newfam\lyfam      % \ly is family 10
  477.  
  478. \def\cal{\fam\tw@}
  479. \def\mit{\fam\@ne}
  480.  
  481. \def\@setstrut{\setbox\strutbox=\hbox{\vrule \@height .7\baselineskip
  482.     \@depth .3\baselineskip \@width\z@}}
  483.  
  484. \def\vpt{\textfont\z@\fivrm
  485.   \scriptfont\z@\fivrm \scriptscriptfont\z@\fivrm
  486. \textfont\@ne\fivmi \scriptfont\@ne\fivmi \scriptscriptfont\@ne\fivmi
  487. \textfont\tw@\fivsy \scriptfont\tw@\fivsy \scriptscriptfont\tw@\fivsy
  488. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  489. \def\prm{\fam\z@\fivrm}%
  490. \def\unboldmath{\everymath{}\everydisplay{}\@nomath
  491.   \unboldmath\fam\@ne\@boldfalse}\@boldfalse
  492. \def\boldmath{\@subfont\boldmath\unboldmath}%
  493. \def\pit{\@getfont\pit\itfam\@vpt{psmtimi \@ptscale5}}%
  494. \def\psl{\@subfont\sl\it}%
  495. \def\pbf{\@getfont\pbf\bffam\@vpt{psmtimb \@ptscale5}}%
  496. \def\ptt{\@subfont\tt\rm}%
  497. \def\psf{\@subfont\sf\rm}%
  498. \def\psc{\@subfont\sc\rm}%
  499. \def\ly{\fam\lyfam\fivly}\textfont\lyfam\fivly
  500.     \scriptfont\lyfam\fivly \scriptscriptfont\lyfam\fivly
  501. \@setstrut\rm}
  502.  
  503. \def\@vpt{}
  504.  
  505. \def\vipt{\textfont\z@\sixrm
  506.   \scriptfont\z@\sixrm \scriptscriptfont\z@\sixrm
  507. \textfont\@ne\sixmi \scriptfont\@ne\sixmi \scriptscriptfont\@ne\sixmi
  508. \textfont\tw@\sixsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\sixsy
  509. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  510. \def\prm{\fam\z@\sixrm}%
  511. \def\unboldmath{\everymath{}\everydisplay{}\@nomath
  512.   \unboldmath\@boldfalse}\@boldfalse
  513. \def\boldmath{\@subfont\boldmath\unboldmath}%
  514. \def\pit{\@subfont\it\rm}%
  515. \def\psl{\@subfont\sl\rm}%
  516. \def\pbf{\@getfont\pbf\bffam\@vipt{psmtimb \@ptscale6}}%
  517. \def\ptt{\@subfont\tt\rm}%
  518. \def\psf{\@subfont\sf\rm}%
  519. \def\psc{\@subfont\sc\rm}%
  520. \def\ly{\fam\lyfam\sixly}\textfont\lyfam\sixly
  521.     \scriptfont\lyfam\sixly \scriptscriptfont\lyfam\sixly
  522. \@setstrut\rm}
  523.  
  524. \def\@vipt{}
  525.  
  526. \def\viipt{\textfont\z@\sevrm
  527.   \scriptfont\z@\sixrm \scriptscriptfont\z@\fivrm
  528. \textfont\@ne\sevmi \scriptfont\@ne\fivmi \scriptscriptfont\@ne\fivmi
  529. \textfont\tw@\sevsy \scriptfont\tw@\fivsy \scriptscriptfont\tw@\fivsy
  530. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  531. \def\prm{\fam\z@\sevrm}%
  532. \def\unboldmath{\everymath{}\everydisplay{}\@nomath
  533. \unboldmath\@boldfalse}\@boldfalse
  534. \def\boldmath{\@subfont\boldmath\unboldmath}%
  535. \def\pit{\fam\itfam\sevit}\textfont\itfam\sevit
  536.    \scriptfont\itfam\sevit \scriptscriptfont\itfam\sevit
  537. \def\psl{\@subfont\sl\it}%
  538. \def\pbf{\@getfont\pbf\bffam\@viipt{psmtimb \@ptscale7}}%
  539. \def\ptt{\@subfont\tt\rm}%
  540. \def\psf{\@subfont\sf\rm}%
  541. \def\psc{\@subfont\sc\rm}%
  542. \def\ly{\fam\lyfam\sevly}\textfont\lyfam\sevly
  543.     \scriptfont\lyfam\fivly \scriptscriptfont\lyfam\fivly
  544. \@setstrut \rm}
  545.  
  546. \def\@viipt{}
  547.  
  548. \def\viiipt{\textfont\z@\egtrm
  549.   \scriptfont\z@\sixrm \scriptscriptfont\z@\fivrm
  550. \textfont\@ne\egtmi \scriptfont\@ne\sixmi \scriptscriptfont\@ne\fivmi
  551. \textfont\tw@\egtsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\fivsy
  552. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  553. \def\prm{\fam\z@\egtrm}%
  554. \def\unboldmath{\everymath{}\everydisplay{}\@nomath
  555. \unboldmath\@boldfalse}\@boldfalse
  556. \def\boldmath{\@subfont\boldmath\unboldmath}%
  557. \def\pit{\fam\itfam\egtit}\textfont\itfam\egtit
  558.    \scriptfont\itfam\sevit \scriptscriptfont\itfam\sevit
  559. \def\psl{\@getfont\psl\slfam\@viiipt{psmtimi \@ptscale8}}%
  560. \def\pbf{\@getfont\pbf\bffam\@viiipt{psmtimb \@ptscale8}}%
  561. \def\ptt{\@getfont\ptt\ttfam\@viiipt{psmcou \@ptscale8}\@nohyphens\ptt\@viiipt}%
  562. \def\psf{\@getfont\psf\sffam\@viiipt{cmss8}}%
  563. \def\psc{\@getfont\psc\scfam\@viiipt{\@mcsc\@ptscale8}}%
  564. \def\ly{\fam\lyfam\egtly}\textfont\lyfam\egtly
  565.     \scriptfont\lyfam\sixly \scriptscriptfont\lyfam\fivly
  566. \@setstrut \rm}
  567.  
  568. \def\@viiipt{}
  569.  
  570. \def\ixpt{\textfont\z@\ninrm
  571.   \scriptfont\z@\sixrm \scriptscriptfont\z@\fivrm
  572. \textfont\@ne\ninmi \scriptfont\@ne\sixmi \scriptscriptfont\@ne\fivmi
  573. \textfont\tw@\ninsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\fivsy
  574. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  575. \def\prm{\fam\z@\ninrm}%
  576. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  577.     \@boldfalse}\@boldfalse
  578. \def\boldmath{\@subfont\boldmath\unboldmath}%
  579. \def\pit{\fam\itfam\ninit}\textfont\itfam\ninit
  580.    \scriptfont\itfam\sevit \scriptscriptfont\itfam\sevit
  581. \def\psl{\@getfont\psl\slfam\@ixpt{psmtimi \@ptscale9}}%
  582. \def\pbf{\fam\bffam\ninbf}\textfont\bffam\ninbf
  583.    \scriptfont\bffam\ninbf \scriptscriptfont\bffam\ninbf
  584. \def\ptt{\fam\ttfam\nintt}\textfont\ttfam\nintt
  585.    \scriptfont\ttfam\nintt \scriptscriptfont\ttfam\nintt
  586. \def\psf{\@getfont\psf\sffam\@ixpt{cmss9}}%
  587. \def\psc{\@getfont\psc\scfam\@ixpt{\@mcsc\@ptscale9}}%
  588. \def\ly{\fam\lyfam\ninly}\textfont\lyfam\ninly
  589.    \scriptfont\lyfam\sixly \scriptscriptfont\lyfam\fivly
  590. \@setstrut \rm}
  591.  
  592. \def\@ixpt{}
  593.  
  594. \def\xpt{\textfont\z@\tenrm
  595.   \scriptfont\z@\sevrm \scriptscriptfont\z@\fivrm
  596. \textfont\@ne\tenmi \scriptfont\@ne\sevmi \scriptscriptfont\@ne\fivmi
  597. \textfont\tw@\tensy \scriptfont\tw@\sevsy \scriptscriptfont\tw@\fivsy
  598. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  599. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  600.           \textfont\@ne\tenmi
  601.           \textfont\tw@\tensy \textfont\lyfam\tenly
  602.           \@boldfalse}\@boldfalse
  603. \def\boldmath{\@ifundefined{tenmib}{\global\font\tenmib\@mbi
  604.    \global\font\tensyb\@mbsy
  605.    \global\font\tenlyb\@lasyb\relax\@addfontinfo\@xpt
  606.    {\def\boldmath{\everymath{\mit}\everydisplay{\mit}\@prtct\@nomathbold
  607.         \textfont\@ne\tenmib \textfont\tw@\tensyb
  608.         \textfont\lyfam\tenlyb \@prtct\@boldtrue}}}{}\@xpt\boldmath}%
  609. \def\prm{\fam\z@\tenrm}%
  610. \def\pit{\fam\itfam\tenit}\textfont\itfam\tenit \scriptfont\itfam\sevit
  611.     \scriptscriptfont\itfam\sevit
  612. \def\psl{\fam\slfam\tensl}\textfont\slfam\tensl
  613.      \scriptfont\slfam\tensl \scriptscriptfont\slfam\tensl
  614. \def\pbf{\fam\bffam\tenbf}\textfont\bffam\tenbf
  615.     \scriptfont\bffam\tenbf \scriptscriptfont\bffam\tenbf
  616. \def\ptt{\fam\ttfam\tentt}\textfont\ttfam\tentt
  617.     \scriptfont\ttfam\tentt \scriptscriptfont\ttfam\tentt
  618. \def\psf{\fam\sffam\tensf}\textfont\sffam\tensf
  619.     \scriptfont\sffam\tensf \scriptscriptfont\sffam\tensf
  620. \def\psc{\@getfont\psc\scfam\@xpt{\@mcsc}}%
  621. \def\ly{\fam\lyfam\tenly}\textfont\lyfam\tenly
  622.    \scriptfont\lyfam\sevly \scriptscriptfont\lyfam\fivly
  623. \@setstrut \rm}
  624.  
  625. \def\@xpt{}
  626.  
  627. \def\xipt{\textfont\z@\elvrm
  628.   \scriptfont\z@\egtrm \scriptscriptfont\z@\sixrm
  629. \textfont\@ne\elvmi \scriptfont\@ne\egtmi \scriptscriptfont\@ne\sixmi
  630. \textfont\tw@\elvsy \scriptfont\tw@\egtsy \scriptscriptfont\tw@\sixsy
  631. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  632. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  633.           \textfont\@ne\elvmi \textfont\tw@\elvsy
  634.           \textfont\lyfam\elvly \@boldfalse}\@boldfalse
  635. \def\boldmath{\@ifundefined{elvmib}{\global\font\elvmib\@mbi\@halfmag
  636.          \global\font\elvsyb\@mbsy\@halfmag
  637.          \global\font\elvlyb\@lasyb\@halfmag\relax\@addfontinfo\@xipt
  638.          {\def\boldmath{\everymath{\mit}\everydisplay{\mit}\@prtct\@nomathbold
  639.                 \textfont\@ne\elvmib \textfont\tw@\elvsyb
  640.                 \textfont\lyfam\elvlyb\@prtct\@boldtrue}}}{}\@xipt\boldmath}%
  641. \def\prm{\fam\z@\elvrm}%
  642. \def\pit{\fam\itfam\elvit}\textfont\itfam\elvit
  643.    \scriptfont\itfam\egtit \scriptscriptfont\itfam\sevit
  644. \def\psl{\fam\slfam\elvsl}\textfont\slfam\elvsl
  645.     \scriptfont\slfam\tensl \scriptscriptfont\slfam\tensl
  646. \def\pbf{\fam\bffam\elvbf}\textfont\bffam\elvbf
  647.    \scriptfont\bffam\ninbf \scriptscriptfont\bffam\ninbf
  648. \def\ptt{\fam\ttfam\elvtt}\textfont\ttfam\elvtt
  649.    \scriptfont\ttfam\nintt \scriptscriptfont\ttfam\nintt
  650. \def\psf{\fam\sffam\elvsf}\textfont\sffam\elvsf
  651.     \scriptfont\sffam\tensf \scriptscriptfont\sffam\tensf
  652. \def\psc{\@getfont\psc\scfam\@xipt{\@mcsc\@halfmag}}%
  653. \def\ly{\fam\lyfam\elvly}\textfont\lyfam\elvly
  654.    \scriptfont\lyfam\egtly \scriptscriptfont\lyfam\sixly
  655. \@setstrut \rm}
  656.  
  657. \def\@xipt{}
  658.  
  659. \def\xiipt{\textfont\z@\twlrm
  660.   \scriptfont\z@\egtrm \scriptscriptfont\z@\sixrm
  661. \textfont\@ne\twlmi \scriptfont\@ne\egtmi \scriptscriptfont\@ne\sixmi
  662. \textfont\tw@\twlsy \scriptfont\tw@\egtsy \scriptscriptfont\tw@\sixsy
  663. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  664. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  665.           \textfont\@ne\twlmi
  666.           \textfont\tw@\twlsy \textfont\lyfam\twlly
  667.           \@boldfalse}\@boldfalse
  668. \def\boldmath{\@ifundefined{twlmib}{\global\font\twlmib\@mbi\@magscale1\global
  669.         \font\twlsyb\@mbsy \@magscale1\global\font
  670.          \twllyb\@lasyb\@magscale1\relax\@addfontinfo\@xiipt
  671.               {\def\boldmath{\everymath
  672.                 {\mit}\everydisplay{\mit}\@prtct\@nomathbold
  673.                 \textfont\@ne\twlmib \textfont\tw@\twlsyb
  674.                 \textfont\lyfam\twllyb\@prtct\@boldtrue}}}{}\@xiipt\boldmath}%
  675. \def\prm{\fam\z@\twlrm}%
  676. \def\pit{\fam\itfam\twlit}\textfont\itfam\twlit \scriptfont\itfam\egtit
  677.    \scriptscriptfont\itfam\sevit
  678. \def\psl{\fam\slfam\twlsl}\textfont\slfam\twlsl
  679.      \scriptfont\slfam\tensl \scriptscriptfont\slfam\tensl
  680. \def\pbf{\fam\bffam\twlbf}\textfont\bffam\twlbf
  681.    \scriptfont\bffam\ninbf \scriptscriptfont\bffam\ninbf
  682. \def\ptt{\fam\ttfam\twltt}\textfont\ttfam\twltt
  683.    \scriptfont\ttfam\nintt \scriptscriptfont\ttfam\nintt
  684. \def\psf{\fam\sffam\twlsf}\textfont\sffam\twlsf
  685.     \scriptfont\sffam\tensf \scriptscriptfont\sffam\tensf
  686. \def\psc{\@getfont\psc\scfam\@xiipt{\@mcsc\@magscale1}}%
  687. \def\ly{\fam\lyfam\twlly}\textfont\lyfam\twlly
  688.    \scriptfont\lyfam\egtly \scriptscriptfont\lyfam\sixly
  689.  \@setstrut \rm}
  690.  
  691. \def\@xiipt{}
  692.  
  693. \def\xivpt{\textfont\z@\frtnrm
  694.   \scriptfont\z@\tenrm \scriptscriptfont\z@\sevrm
  695. \textfont\@ne\frtnmi \scriptfont\@ne\tenmi \scriptscriptfont\@ne\sevmi
  696. \textfont\tw@\frtnsy \scriptfont\tw@\tensy \scriptscriptfont\tw@\sevsy
  697. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  698. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  699.           \textfont\@ne\frtnmi \textfont\tw@\frtnsy
  700.           \textfont\lyfam\frtnly \@boldfalse}\@boldfalse
  701. \def\boldmath{\@ifundefined{frtnmib}{\global\font
  702.         \frtnmib\@mbi\@magscale2\global\font\frtnsyb\@mbsy\@magscale2
  703.          \global\font\frtnlyb\@lasyb\@magscale2\relax\@addfontinfo\@xivpt
  704.                {\def\boldmath{\everymath
  705.                 {\mit}\everydisplay{\mit}\@prtct\@nomathbold
  706.               \textfont\@ne\frtnmib \textfont\tw@\frtnsyb
  707.               \textfont\lyfam\frtnlyb\@prtct\@boldtrue}}}{}\@xivpt\boldmath}%
  708. \def\prm{\fam\z@\frtnrm}%
  709. \def\pit{\@getfont\pit\itfam\@xivpt{psmtimi\@magscale2}}%
  710. \def\psl{\@getfont\psl\slfam\@xivpt{psmtimi\@magscale2}}%
  711. \def\pbf{\fam\bffam\frtnbf}\textfont\bffam\frtnbf
  712.    \scriptfont\bffam\tenbf \scriptscriptfont\bffam\ninbf
  713. \def\ptt{\@getfont\ptt\ttfam\@xivpt{psmcou\@magscale2}\@nohyphens\ptt\@xivpt}%
  714. \def\psf{\@getfont\psf\sffam\@xivpt{\@mss\@magscale2}}%
  715. \def\psc{\@getfont\psc\scfam\@xivpt{\@mcsc\@magscale2}}%
  716. \def\ly{\fam\lyfam\frtnly}\textfont\lyfam\frtnly
  717.    \scriptfont\lyfam\tenly \scriptscriptfont\lyfam\sevly
  718. \@setstrut \rm}
  719.  
  720. \def\@xivpt{}
  721.  
  722. \def\xviipt{\textfont\z@\svtnrm
  723.   \scriptfont\z@\twlrm \scriptscriptfont\z@\tenrm
  724. \textfont\@ne\svtnmi \scriptfont\@ne\twlmi \scriptscriptfont\@ne\tenmi
  725. \textfont\tw@\svtnsy \scriptfont\tw@\twlsy \scriptscriptfont\tw@\tensy
  726. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  727. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  728.           \textfont\@ne\svtnmi \textfont\tw@\svtnsy \textfont\lyfam\svtnly
  729.           \@boldfalse}\@boldfalse
  730. \def\boldmath{\@subfont\boldmath\unboldmath}%
  731. \def\prm{\fam\z@\svtnrm}%
  732. \def\pit{\@getfont\pit\itfam\@xviipt{psmtimi\@magscale3}}%
  733. \def\psl{\@getfont\psl\slfam\@xviipt{psmtimi\@magscale3}}%
  734. \def\pbf{\fam\bffam\svtnbf}\textfont\bffam\svtnbf
  735.     \scriptfont\bffam\twlbf \scriptscriptfont\bffam\tenbf
  736. \def\ptt{\@getfont\ptt\ttfam\@xviipt{psmcou\@magscale3}\@nohyphens
  737.    \ptt\@xviipt}%
  738. \def\psf{\@getfont\psf\sffam\@xviipt{\@mss\@magscale3}}%
  739. \def\psc{\@getfont\psc\scfam\@xviipt{\@mcsc\@magscale3}}%
  740. \def\ly{\fam\lyfam\svtnly}\textfont\lyfam\svtnly
  741.    \scriptfont\lyfam\twlly   \scriptscriptfont\lyfam\tenly
  742. \@setstrut \rm}
  743.  
  744. \def\@xviipt{}
  745.  
  746. \def\xxpt{\textfont\z@\twtyrm
  747.   \scriptfont\z@\frtnrm \scriptscriptfont\z@\twlrm
  748. \textfont\@ne\twtymi \scriptfont\@ne\frtnmi \scriptscriptfont\@ne\twlmi
  749. \textfont\tw@\twtysy \scriptfont\tw@\frtnsy \scriptscriptfont\tw@\twlsy
  750. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  751. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  752.         \textfont\@ne\twtymi \textfont\tw@\twtysy \textfont\lyfam\twtyly
  753.         \@boldfalse}\@boldfalse
  754. \def\boldmath{\@subfont\boldmath\unboldmath}%
  755. \def\prm{\fam\z@\twtyrm}%
  756. \def\pit{\@getfont\pit\itfam\@xxpt{psmtimi\@magscale4}}%
  757. \def\psl{\@getfont\psl\slfam\@xxpt{psmtimi\@magscale4}}%
  758. \def\pbf{\@getfont\pbf\bffam\@xxpt{psmtimb\@magscale4}}%
  759. \def\ptt{\@getfont\ptt\ttfam\@xxpt{psmcou\@magscale4}\@nohyphens\ptt\@xxpt}%
  760. \def\psf{\@getfont\psf\sffam\@xxpt{\@mss\@magscale4}}%
  761. \def\psc{\@getfont\psc\scfam\@xxpt{\@mcsc\@magscale4}}%
  762. \def\ly{\fam\lyfam\twtyly}\textfont\lyfam\twtyly
  763.    \scriptfont\lyfam\frtnly \scriptscriptfont\lyfam\twlly
  764. \@setstrut \rm}
  765.  
  766. \def\@xxpt{}
  767.  
  768. \def\xxvpt{\textfont\z@\twfvrm
  769.   \scriptfont\z@\twtyrm \scriptscriptfont\z@\svtnrm
  770. \textfont\@ne\twtymi \scriptfont\@ne\twtymi \scriptscriptfont\@ne\svtnmi
  771. \textfont\tw@\twtysy \scriptfont\tw@\twtysy \scriptscriptfont\tw@\svtnsy
  772. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  773. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  774.         \textfont\@ne\twtymi \textfont\tw@\twtysy \textfont\lyfam\twtyly
  775.         \@boldfalse}\@boldfalse
  776. \def\boldmath{\@subfont\boldmath\unboldmath}%
  777. \def\prm{\fam\z@\twfvrm}%
  778. \def\pit{\@subfont\it\rm}%
  779. \def\psl{\@subfont\sl\rm}%
  780. \def\pbf{\@getfont\pbf\bffam\@xxvpt{psmtimb\@magscale5}}%
  781. \def\ptt{\@subfont\tt\rm}%
  782. \def\psf{\@subfont\sf\rm}%
  783. \def\psc{\@subfont\sc\rm}%
  784. \def\ly{\fam\lyfam\twtyly}\textfont\lyfam\twtyly
  785.    \scriptfont\lyfam\twtyly \scriptscriptfont\lyfam\svtnly
  786. \@setstrut \rm}
  787.  
  788. \def\@xxvpt{}
  789.  
  790. % SPECIAL LaTeX character definitions
  791.  
  792. % Definitions of math operators added by LaTeX
  793. \mathchardef\mho"0A30
  794. \mathchardef\Join"3A31
  795. \mathchardef\Box"0A32
  796. \mathchardef\Diamond"0A33
  797. \mathchardef\leadsto"3A3B
  798. \mathchardef\sqsubset"3A3C
  799. \mathchardef\sqsupset"3A3D
  800. \def\lhd{\mathbin{< \hbox to -.43em{}\hbox{\vrule
  801.       \@width .065em \@height .55em \@depth .05em}\hbox to .2em{}}}
  802. \def\rhd{\mathbin{\hbox to .3em{}\hbox{\vrule \@width .065em \@height
  803.        .55em \@depth .05em}\hbox to -.43em{}>}}
  804. \def\unlhd{\mathbin{\leq \hbox to -.43em{}\hbox
  805.         {\vrule \@width .065em \@height .63em \@depth -.08em}\hbox to .2em{}}}
  806. \def\unrhd{\mathbin{ \hbox to .3em{}\hbox
  807.  {\vrule \@width .065em \@height .63em \@depth -.08em}\hbox to -.43em{}\geq}}
  808.  
  809. % Definition of \$ to work in italic font (since it produces a pound sterling
  810. % sign in the cmit font.
  811.  
  812. \def\${\protect\pdollar}
  813. \def\pdollar{{\ifdim \fontdimen\@ne\font >\z@ \sl \fi\char`\$}}
  814.  
  815. % Definition of pound sterling sign.
  816.  
  817. \def\pounds{{\it \char'44}}
  818.  
  819. % Definition of \copyright changed so it works in other type styles,
  820. % and so it is robust
  821. \def\copyright{\protect\pcopyright}
  822. \def\pcopyright{{\rm\ooalign{\hfil
  823.      \raise.07ex\hbox{c}\hfil\crcr\mathhexbox20D}}}
  824.  
  825.